package gov.mogaha.ntis.cmm.mob.view;

import gov.mogaha.ntis.cmm.mob.R;

import java.util.ArrayList;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;



/** <B><I>public class NewAddressDistrictListView extends NewAddressReferencialListView</B></I><BR>
 * 시군구를 검색할 때 사용할 수 있는 리스트셋.
 * @author 이전봉
 * @version 1.0
 * @see AddressListView
 *
 */
public class NewAddressDistrictListView extends NewAddressReferencialListView {
	private final Context context;
	//private View view;
	
	
	
	/**<B><I>public NewAddressDistrictListView(Context context, AttributeSet attrs)</I></B><BR>
	 * 새로운 AddressDistrictListView 개체를 생성한다. 생성 후 반드시 initiate(ArrayList&LTArrayList&LTString&GT&GT arrItems) 
	 * 메소드를 호출해 주어야 리스트가 표시된다.
	 * @param context
	 * @param attrs
	 * @since 1.0
	 */
	public NewAddressDistrictListView(Context context, AttributeSet attrs) {
		super(context, attrs);
		this.context = context;
		
		//인플레이트 및 기본적인 위젯 초기화
		layoutInflate();
		
		//데이터셋 새로고침
		notifyDataSetChanged();
	}
	
	
	
	/**<B><I>private void layoutInflate()</B></I><BR>
	 * 리스트셋의 레이아웃을 인플레이트하고 위젯을 초기화한다.
	 * @since 1.0
	 */
	private void layoutInflate() {
		textItemCount = (TextView)findViewById(R.id.text_AddrListView_ItemCount);
		textNoItems = (TextView)findViewById(R.id.text_AddrListView_Sub);
		
		layList = (LinearLayout)findViewById(R.id.lay_AddrListView_List);
	}
	
	
	
	/**<B><I>public void initiate(ArrayList&LTArrayList&LTString&GT&GT arrItems)</B></I><BR>
	 * 지정할 ArrayList를 사용하여 리스트를 초기화한다.
	 * @since 1.0
	 */
	@Override
	public void initiate(ArrayList<ArrayList<String>> arrItems) {
		this.setVisibility(View.GONE);
		
		listAddr = (ListView)findViewById(R.id.list_AddrListView_List);
		
		//헤더 설정
		setHeader(R.layout.new_address_district_list_view_header);
		
		//데이터셋 설정
		setDataset(arrItems);
		
		//어댑터 설정
		setAdapter(new NewAddressDistrictListViewAdapter(
				context, R.layout.new_address_district_list_view_resource, this.arrItems));
		
		//하단 라인 설정
		footLine = (View)findViewById(R.id.view_AddrListView_Line);
	}
	
	
	
	/**<B><I>public String getRoadnameInAddress(String address)</B></I><BR>
	 * 전체 주소에서 도로명만 가져온다.
	 * @param address 도로명을 가져올 전체 주소
	 * @return 전체 주소에서 도로명
	 * @since 1.0
	 */
	public String getRoadnameInAddress(String address) {
		String[] datas = address.split(" ");
		String roadname = "";
		for (String st : datas) {
			if (st.matches(".*로")) {
				roadname = st;
			}
		}
		
		return roadname;
	}
	
	/**<B><I>public String getRoadnameInAddress(int position)</B></I><BR>
	 * 전체 아이템의 특정 위치의 전체 주소에서 도로명만 가져온다.
	 * @param position 주소를 가져올 위치
	 * @return 전체 주소에서 도로명
	 * @since 1.0
	 */
	public String getRoadnameInAddress(int position) {
		String data = getItem1(position);
		return getRoadnameInAddress(data);
	}
}



















